package com.oracle.role.service.api;

import com.oracle.pojo.Permission;
import com.oracle.pojo.Roles;
import com.oracle.vo.ResultEntity;

import java.util.List;

public interface RoleServiceApi {

    /**
     * 获取所有的角色
     * @return
     */
    ResultEntity<List<Roles>> findRoleAll();

    /**
     * 获取所有的权限信息
     * @return
     */
    ResultEntity<List<Permission>> getPermissionsAll();

    /**
     * 获取当前查询角色ID下的所有权限
     * @param id
     * @return
     */
    ResultEntity<List<Integer>> getPermissionsByRole(Integer id);

    /**
     * 获取指定角色编号的角色信息
     * @param id
     * @return
     */
    ResultEntity<Roles> getRoleById(Integer id);

    /**
     * 添加角色信息并维护 角色权限信息
     * @return
     */
    ResultEntity addRoleVindicatePermissions(Roles roles,Integer...perids);

    /**
     * 修改指定的角色信息，维护角色的权限信息
     * @param roles
     * @param perids
     * @return
     */
    ResultEntity updateRoleVindicate(Roles roles, Integer[] perids);

    /**
     * 删除指定角色信息，维护下属权限信息
     * @param id
     * @return
     */
    ResultEntity deleteRoleAndPermissions(Integer id);
}
